package com.dsg.entity.oil;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 油咭庫存
 * </p>
 *
 * @author system
 * @since 2020-07-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("dsg_oil_card_stock")
@ApiModel(value="DsgOilCardStock对象", description="油咭庫存")
public class DsgOilCardStock implements Serializable {

    private static final long serialVersionUID = 1L;

    /** 補咭 */
    public static final int RETURN_TYPE_1 = 1;
    /** 新咭 */
    public static final int RETURN_TYPE_2 = 2;
    /** Renew咭 */
    public static final int RETURN_TYPE_3 = 3;

    /** 入庫 */
    public static final int STOCK_STATUS_IN = 0;
    /** 出庫 */
    public static final int STOCK_STATUS_OUT = 1;
    /** SC返咭導入 */
    public static final int STOCK_STATUS_IMPORT = 2;
    /** SC返咭確認 */
    public static final int STOCK_STATUS_CONFIRM = 3;

    @ApiModelProperty(value = "主鍵")
    @TableId("OID")
    private String oid;

    @ApiModelProperty(value = "企業編碼")
    @TableField("ENT_CODE")
    private String entCode;

    @ApiModelProperty(value = "申請單號")
    @TableField("APP_NO")
    private String appNo;

    @ApiModelProperty(value = "油公司")
    @TableField("OIL_COM")
    private String oilCom;

    @ApiModelProperty(value = "油咭分類")
    @TableField("CARD_CLASSIFY")
    private Integer cardClassify;

    @ApiModelProperty(value = "油咭類型")
    @TableField("CARD_TYPE")
    private String cardType;

    @ApiModelProperty(value = "卡號")
    @TableField("CARD_NO")
    private String cardNo;

    @ApiModelProperty(value = "卡名")
    @TableField("CARD_FACE_NAME")
    private String cardFaceName;

    @ApiModelProperty(value = "庫存狀態")
    @TableField("STOCK_STATUS")
    private Integer stockStatus;

    @ApiModelProperty(value = "卡入庫時間")
    @TableField("CARD_IN_TIME")
    private Date cardInTime;

    @ApiModelProperty(value = "卡出庫時間")
    @TableField("CARD_OUT_TIME")
    private Date cardOutTime;

    @ApiModelProperty(value = "有效期")
    @TableField("PERIOD_TIME")
    private Date periodTime;

    @ApiModelProperty(value = "創建人")
    @TableField("CREATER")
    private String creater;

    @ApiModelProperty(value = "創建時間")
    @TableField("CREATE_TIME")
    private Date createTime;

    @ApiModelProperty(value = "更新人")
    @TableField("UPDATER")
    private String updater;

    @ApiModelProperty(value = "更新時間")
    @TableField("UPDATE_TIME")
    private Date updateTime;

    @ApiModelProperty(value = "車牌號碼")
    @TableField("CAR_NO")
    private String carNo;

    @ApiModelProperty(value = "車輛油種")
    @TableField(exist = false)
    private Integer carOilType;

    @ApiModelProperty(value = "SC返咭類型")
    @TableField("RETURN_TYPE")
    private Integer returnType;

    @ApiModelProperty(value = "油公司帳號")
    @TableField("ACCOUNT_NUMBER")
    private String accountNumber;

    @ApiModelProperty(value = "遺失的咭")
    @TableField("LOST_NUMBER")
    private String lostNumber;

    @ApiModelProperty(value = "油公司帳號")
    @TableField("CAR_BAND")
    private String carBand;

    @ApiModelProperty(value = "代理公司")
    @TableField("VENDOR")
    private String vendor;

    @ApiModelProperty(value = "產品限制")
    @TableField("PRODUCT_RESTRICTION")
    private String productRestriction;
}
